The present embodiments relate to software defined storage. More specifically, the embodiments relate to adaptive direct management of data storage, including control of storage space and storage devices.
A data storage system is typically comprised of one or more physical storage devices, with each device configured to store digital information. There are various types of physical storage devices used within data storage systems and each type has its own respective parameters, such as size, protocols, speed, cost, etc. Storage virtualization provides separation of underlying physical storage device from the software that manages the storage infrastructure. Storage virtualization enables abstraction and policy management of multiple storage devices and pooling of underlying hardware resources.
Storage space is typically an on demand resource in a computer system. Latency associated with access of the storage system can be a point of contention for one or more transactions within a computer system. Information stored as data in a data storage system may be in various types (e.g. documents, tables, images, music, etc.) and sizes with each type having respective requirements. Similarly, the data and may be stored by different applications and owned by different entities, with each application and entity, respectively, having respective requirements. Accordingly, the requirements for data may determine which storage protocols are used in the data storage system to support the application.